Apple Inc. launches a Push Notification solution, which is applicable to an iPhone. A Push manner is adopted in the solution. When an application of a user has an incoming event (for example, a new email is received in Email), the event is directly pushed to a client, and the client does not need to keep the application online, or periodically log into an application server to check whether a new event occurs. Essence of a Push technology is to let information find a user actively. An advantage lies in activeness and timeliness of information. By using this technology, information may be pushed to a user as quickly as possible.
A working mechanism of the Push Notification solution may be briefly shown in FIG. 1, where:
A Provider refers to an application server of a certain piece of iPhone software. An APNS is an acronym of an Apple Push Notification Service (Apple Push server), and this acronym is used in the following.
An entire working process is as follows:
1. An application server (Provider) packetizes a message to be sent and a destination iPhone identifier (notification), and sends to an APNS. That is, an application server (Provider) packetizes a message to be sent and a destination iPhone identifier into a notification, and sends the notification to an APNS.
2. The APNS searches for an iPhone with a corresponding identifier in a local list of iPhones that have registered a Push service, and sends the message to the iPhone.
3. The iPhone transfers the incoming message to a corresponding application (Client APP), and pops up a Push notification according to setting.
The APNS uses a “destination iPhone identifier” as a basis for determining an iPhone to which a Push message is sent, and the identifier is a device token. 1. After accessing a network, an iPhone connects to an APNS to set up a connection; 2. after the connection is completed, the APNS returns a device token to the iPhone; 3-4. when the iPhone accesses an application service, an application client sends the token to an application server (Provider). Subsequently, the application server may find a user through the APNS and the token. That is, when there is a Push message to be sent, the application server (Provider) sends a device token of a corresponding account and the message to the APNS, and the APNS finds a corresponding destination iPhone according to the device token, and sends the corresponding Push message. The foregoing process is as shown in FIG. 2.
Because a NAT and a firewall exist between the APNS and a terminal, as shown in FIG. 3, heartbeats need to be maintained between the APNS (Apple Push server) and the terminal to maintain reachability of an IP link.
After a UE accesses a network, a GGSN allocates a private IP address to the UE. However, when the UE communicates with the outside, the private IP address needs to be translated into a public IP address through the NAT. That is, the UE's IP address visible to an external network element (including the APNS) is actually the public IP address of the UE.
To receive the Push message, the UE interacts with the APNS, and registers correspondence between a used token and a public IP address at the APNS. Afterward, a user-level heartbeat connection is maintained between the APNS and the UE to maintain reachability of the IP address of the user.
Because a user address visible to the APNS is a public IP address, but there is a time limit for a binding relationship between a public IP address and a private IP address of a terminal under a NAT mechanism. With aging of the NAT after a time period, the public IP address or the private IP address of the terminal changes, which leads to cancellation of the original binding relationship between the public IP address and the private IP address. To ensure that the terminal's public IP address registered at the APNS is valid, aging of the NAT needs to be prevented.
The inventor of the present invention finds that the prior art has at least the following obvious problems:
In the solution, an IP connection needs to be maintained through heartbeats between the APNS and the UE. Signaling messages generated by plenty of heartbeat signals lead to network congestion, and in order to maintain the heartbeats, the UE cannot enter an idle state, which causes high power consumption of the UE.
Further, the foregoing prior art is applicable only in a case that the UE obtains the public IP address, and for a case that the UE does not obtain the public IP address, the foregoing prior art cannot provide the Push service.